// pages/community/community.js
import config from '../../utils/config';

Page({
  data: {
    // 客服信息
    phone: '',
    wechat: '',
    
    // 二维码弹窗
    showQRCodeModal: false,
    
    // FAQ数据
    faqList: [],
    
    // 评价列表数据
    reviewList: [],
    
    // 评价相关数据（暂时使用mock数据）
    rating: 0,
    comment: ''
  },

  onLoad(options) {
    // 获取客服信息
    this.getCustomService();
    // 获取常见问题和评价列表
    this.getAboutList();
  },

  // 获取客服信息
  getCustomService() {
    wx.request({
      url: `${config.baseUrl}/seal/customService`,
      method: 'GET',
      success: (res) => {
        if (res.data && res.data.code === 200 && res.data.data) {
          this.setData({
            phone: res.data.data.phone,
            wechat: res.data.data.wechat,
            qrcode: res.data.data.qrcode
          });
        }
      },
      fail: (err) => {
        console.error('获取客服信息失败:', err);
      }
    });
  },



  // 添加客服企业微信
  addWechatContact() {
    if (!this.data.wechat) {
      wx.showToast({
        title: '暂无微信号',
        icon: 'none'
      });
      return;
    }

    // 显示二维码弹窗
    this.setData({
      showQRCodeModal: true
    });
  },

  // 关闭二维码弹窗
  closeQRCodeModal() {
    this.setData({
      showQRCodeModal: false
    });
  },

  // 阻止事件冒泡
  stopPropagation() {
    // 阻止事件冒泡
  },

  // 切换FAQ展开状态
  toggleFaq(e) {
    const id = e.currentTarget.dataset.id;
    const faqList = this.data.faqList.map(item => {
      if (item.id === id) {
        return { ...item, expanded: !item.expanded };
      }
      return item;
    });
    
    this.setData({
      faqList: faqList
    });
  },

  // 获取常见问题和评价列表
  getAboutList() {
    wx.request({
      url: `${config.baseUrl}/seal/getSealOrderAboutList`,
      method: 'GET',
      success: (res) => {
        if (res.data && res.data.code === 200 && res.data.data) {
          // 处理FAQ数据，添加id和expanded字段
          let faqList = [];
          if (res.data.data.answerList && Array.isArray(res.data.data.answerList)) {
            faqList = res.data.data.answerList.map((item, index) => ({
              id: index + 1,
              question: item.question,
              answer: item.answer,
              expanded: false
            }));
          }
          
          // 处理评价数据，将 createdAt 字段映射为 createTime
          let reviewList = [];
          if (res.data.data.evaluateList && Array.isArray(res.data.data.evaluateList)) {
            reviewList = res.data.data.evaluateList.map(item => ({
              ...item,
              createTime: item.createdAt
            }));
          }
          
          this.setData({
            faqList: faqList,
            reviewList: reviewList
          });
        }
      },
      fail: (err) => {
        console.error('获取常见问题和评价列表失败:', err);
        wx.showToast({
          title: '获取数据失败',
          icon: 'none'
        });
      }
    });
  },

  // 拨打电话
  makePhoneCall() {
    if (!this.data.phone) {
      wx.showToast({
        title: '暂无联系电话',
        icon: 'none'
      });
      return;
    }

    wx.makePhoneCall({
      phoneNumber: this.data.phone.toString(),
      success: () => {
        console.log('拨打电话成功');
      },
      fail: (err) => {
        wx.showToast({
          title: '取消拨打',
          icon: 'none'
        });
      }
    });
  },

  // 复制微信号
  copyWechat() {
    if (!this.data.wechat) {
      wx.showToast({
        title: '暂无微信号',
        icon: 'none'
      });
      return;
    }

    wx.setClipboardData({
      data: this.data.wechat.toString(),
      success: () => {
        wx.showToast({
          title: '微信号已复制',
          icon: 'success',
          duration: 2000
        });
      },
      fail: (err) => {
        console.error('复制微信号失败:', err);
        wx.showToast({
          title: '复制失败',
          icon: 'none'
        });
      }
    });
  },

  // 长按预览二维码
  previewQRCode() {
    if (!this.data.qrcode) {
      wx.showToast({
        title: '暂无二维码',
        icon: 'none'
      });
      return;
    }
    
    wx.previewImage({
      urls: [this.data.qrcode],
      current: this.data.qrcode,
      success: () => {
        console.log('预览二维码成功');
      },
      fail: (err) => {
        console.error('预览二维码失败:', err);
        wx.showToast({
          title: '预览失败',
          icon: 'none'
        });
      }
    });
  }
}) 